package com.indexingsystem.system.service;

import java.util.List;

import com.indexingsystem.boss.Vo.TablesQueryVo;
import com.indexingsystem.boss.Vo.TablesVo;
import com.indexingsystem.boss.common.PagedResult;
import com.indexingsystem.boss.entity.Tables;


public interface ITablesService {
	
	/**
	 * 根据表id删除表
	 * @param tableId
	 * @return
	 */
    int deleteByPrimaryKey(String tableId);
    

    /**
     * 新增表
     * @param record
     * @return
     */
    int insert(Tables record);

    /**
     * 条件新增表
     * @param record
     * @return
     */
    int insertSelective(Tables record);
    
    /**
     * 新增表+列
     * @param tablesVo
     * @return
     */
    int createTable(TablesVo tablesVo) throws Exception;

    /**
     * 根据条件查询表
     * @param tableId
     * @return
     */
    Tables selectByPrimaryKey(String tableId);
    
    /**
     * 根据表名查询表
     * @param tableName
     * @return
     */
    Tables getTableByTableName(String tableName);
    
    /**
     *查询表数据
     * @param tableName
     * @return
     */
    Integer getTablesVal(String tableName);

    /**
     * 根据条件修改表
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Tables record);
    
    /**
     * 修改表+列
     * @param record
     * @return
     */
    int updateTalbe(TablesVo record)throws Exception;

    /**
     * 修改表
     * @param record
     * @return
     */
    int updateByPrimaryKey(Tables record);
    
    /**
     * 查询数据表
     * @param tablesQueryVo
     * @return
     */
    PagedResult<TablesQueryVo> getTablesList(TablesQueryVo tablesQueryVo);
    
    /**
     * 查询数据表总数量
     * @param tablesQueryVo
     * @return
     */
    Integer getTablesListCount(TablesQueryVo tablesQueryVo);
    
    /**
     * 根据表id删除表结构
     * @param tableId
     * @return
     */
    Integer deleteBatchTable(List<String> list) throws Exception;
}